#ifndef __BSP_DRIVERH__
#define __BSP_DRIVERH__
#include "os/types.h"

/* cpu related function */
void wdog_reload();
void cpu_reboot(void);

/* 1ms timer function */
void mc_sched_timer_init(int ms);

/* adc driver functions */
void adc_init(void);
void adc_start_convert(void);
void adc_stop_convert(void);
void adc_get_phase_curr_value(uint8_t chan, int16_t *adc1, int16_t *adc2);
int16_t adc_get_dc_current_value(void);
int16_t adc_get_dc_voltage_value(void);

/* pwm timer driver functions */
void pwm_timer_init(u32 half_period);
void pwm_enable_update_irq(bool enable);
void pwm_start_output(void);
void pwm_stop_output(void);
void pwm_apply_duty(u16 a, u16 b, u16 c);
void pwm_enable_channel(void);
void pwm_disable_channel(void);

#endif /* __BSP_DRIVERH__ */
